]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
extensionSystem: Check if extension exists before accessing property
authorJonas Dreßler <verdre@v0yd.nl>
Wed, 11 Sep 2019 12:36:18 +0000 (14:36 +0200)
committerFlorian Müllner <florian.muellner@gmail.com>
Thu, 12 Sep 2019 10:24:49 +0000 (10:24 +0000)
If the extension doesn't exist in the `this._extensions` Map, we'd try
to access `extension.dir` on undefined/null. So set the `dir` variable
after checking if `extension` is defined.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/96

js/ui/extensionSystem.js

index 47750bda387e4578e6a812c265dc254dc0380ff4..98ef13be97b8d5936755a2a7bbae8cc5bfb4477a 100644 (file)
@@ -303,11 +303,10 @@ var ExtensionManager = class {
 
     _callExtensionInit(uuid) {
         let extension = this.lookup(uuid);
-        let dir = extension.dir;
-
         if (!extension)
             throw new Error("Extension was not properly created. Call createExtensionObject first");
 
+        let dir = extension.dir;
         let extensionJs = dir.get_child('extension.js');
         if (!extensionJs.query_exists(null)) {
             this.logExtensionError(uuid, new Error('Missing extension.js'));